package com.wego.service;

import com.wego.bean.PageBean;
import com.wego.domain.entity.GameCategory;
import com.wego.domain.query.GameCategoryQuery;

import java.util.List;

public interface GameCategoryService {

    /**
     * 分页获取游戏分类列表
     * @param gameCategoryQuery 查询参数
     * @return 游戏分类分页数据
     */
    PageBean<GameCategory> getPage(GameCategoryQuery gameCategoryQuery);

    /**
     * 获取所有游戏分类列表
     * @return 游戏分类列表
     */
    List<GameCategory> getAll();

    /**
     * 根据ID获取游戏分类信息
     * @param id 游戏分类ID
     * @return 游戏分类信息
     */
    GameCategory getById(Integer id);

    /**
     * 更新游戏分类信息
     * @param gameCategory 游戏分类信息对象
     * @return 更新成功的记录数
     */
    int insert(GameCategory gameCategory);

    /**
     * 批量删除游戏分类
     * @param ids 游戏分类ID列表
     * @return 删除成功的记录数
     */
    int deleteByIds(List<Integer> ids);

    /**
     * 批量插入游戏分类
     * @param gameCategoryList 游戏分类列表
     * @return 插入成功的记录数
     */
    int batchInsert(List<GameCategory> gameCategoryList);

    int update(GameCategory gameCategory);
}
